package org.zoomdev.zoom.ioc.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface ModuleInit {

    /**
     * 当设置为async的时候，将会异步执行
     * 需要等待web启动成功，且启用了非启动线程
     *
     * @return
     */
    boolean async() default false;

    /**
     * 等待其他模块初始化成功之后在调用
     * 仍然在启动线程中，当 async=true的时候，本设置无效
     *
     * @return
     */
    boolean after() default false;


}
